public class Test {
    public static void main(String[] args) {
        int a = 10;
        String s1 = a + "";//方法一
        String s2 = String.valueOf(a);//方法二
        System.out.println(s1);
        System.out.println(s2);


        String s3 = "100";
        int b = Integer.parseInt(s3);
        System.out.println(b);

    }
    public static void main8(String[] args) {
        String s1 = "hello";
        String s2 = "world";
        String s3 = s1 + s2;//这里表示将s1和s2进行拼接
        System.out.println(s3);

/*
        byte a = 10;
        byte b = 20;
        byte c = a + b;//编译报错，a和b会被提升为int之后再进行计算，int->byte,err
        byte d = (byte)(a + b);//编译通过
*/

/*        int a = 10;
        long b = 100L;
        double c = 3.14;
        a = (int)b;//强制类型转换
        a = (int)c;//强转，只保留整数位，结果为3
        System.out.println(a);*/
    }
    public static void main7(String[] args) {
        int a = 100;
        long b = 200L;
        b = a;//编译通过，将a的值赋值给b时，编译器会自动将a提升为long类型，再进行赋值
//        a = b;//编译报错，会存在数据丢失的情况，不安全

        byte c = 100;//编译通过，100在byte表示的数据范围内
//        byte d = 257;//编译报错，257超过了byte的数据范围
    }
    public static void main6(String[] args) {
        boolean a = true;
        boolean b = false;
    }
    public static void main5(String[] args) {
        char a = 'A';//大写字母
        char b = '1';//数字字符
        char c = '帅';
        char d = '呵';
        System.out.println(d);
    }
    public static void main4(String[] args) {
        double a = 3.14;//双精度浮点型
        float b = 3.14f;//单精度浮点型（3.14F也可以）

/*
        int a = 1;
        int b = 2;
        System.out.println(a / b);//输出结果为0

        double a1 = 1;
        double b1 = 2;
        System.out.println(a1 / b1);//输出结果为0.5
*/
    }
    public static void main3(String[] args) {
        int a = 10;//定义一个整型变量a，并将数值10存放在变量a中
        a = 100;//我们修改变量a的值
        //int b = 1, c = 2, d = 3;//在一行中我们也可以定义多个相同类型的变量
        long b = 10;
        long c = 10L;//为了区分int和long类型，在long类型变量的初值后加L或l
        short d = 10;
        byte e = 10;

        /*int a;
        System.out.println(a);*/

    }
    public static void main2(String[] args) {
        System.out.println("hello");//字符串常量
        System.out.println(100);//整型常量
        System.out.println(3.14);//浮点型常量
        System.out.println('A');//字符常量
        System.out.println(true);//布尔常量
    }
    public static void main1(String[] args) {
        System.out.println("HelloWorld");
    }
}
